import axiosUtils from './axiosUtils.js';
var dictMap={};
export default {
    getDictList(typeCode){
        return  axiosUtils.post("/api/system/dict/entity/list",{typeCode});
            //.then((res)=>{})
    },
    async asyncGetName(typeCode,value){
        const  rData =await axiosUtils.post("/api/system/dict/entity/readByMap",{typeCode,value});
        return rData;
    },getDictName(typeCode,value){
        return new Promise((resolve, reject) => {
            this.getDictList(typeCode).then((res)=>{
                dictMap[typeCode]=res.records;
                for(let i=0;i<res.records.length;i++){
                    if(res.records[i].value==value){
                        resolve(res.records[i].name);
                        return ;
                    }
                }
                resolve("");
            }).catch(function (error) {
                this.$Message.error(error);
                reject(error);
            });
        });
    },decodeList(typeCode,list,name,callBack){
        this.getDictList(typeCode).then((res)=>{
            let dict=res.records;
            for(let i=0;i<list.length;i++){
                for(let j=0;j<dict.length;j++){
                    if(list[i][name]==dict[j].value){
                        list[i][name]=dict[j].name;
                        break ;
                    }

                }
            }
            if(callBack!=null){
                callBack();
            }
        });

    },decode(typeCode,val,name,callBack){
        this.getDictList(typeCode).then((res)=>{
            let dict=res.records;
            for(let i=0;i<list.length;i++){
                for(let j=0;j<dict.length;j++){
                    if(list[i][name]==dict[j].value){
                        list[i][name]=dict[j].name;
                        break ;
                    }

                }
            }
            if(callBack!=null){
                callBack();
            }
        });

    }
}
